﻿<?php
//记得，编码要用UTF-8,要不中文会变乱码的，你用的是什么软件写程序的?改用dreamweaver或者notepad吧
//还有,注意要用tab来做缩进,下载一个notepad?
//注意!你的每一个函数必须要return一些东西,每个PHP函数都要有return来做结束的吧?成功也要
//直接用group吧
class Group extends CI_Model {

	var $err_code=0;
	var $err_msg='';
    function __construct()
    {
		parent::__construct();
		$this->load->library('rsa');
    }

	//要像这样做一个函数把每一种动作封装起来，这样的话
	function create($gname,$str,$auth,$authid,$email)
	{
		//密码解密
		$a=new RSA();
		$a->setkey($privatekey);
		$str=$a->decrypt($encoded_string);
				
		//验证权限
		/*那这里只是返回一个布尔值,TRUE或者FALSE,要判断这个布尔值再写return
			这里还要改,到时候告诉你怎么改,注意面向对象编程的思想
		*/
		if (! $this->user->get_auth()) return FALSE;
		
		//验证数据(在控制器中验证，这里跳过)
		
		//创建用户组关系
		$g=array(
			'gname' => '$gname',
			'password' => '$str',
			'auth' => '$auth',
			'authid'=>'$authid' ,
			'email'=>'$email'     
		);    
		 
		//输入数据库 
		$this->db->set($g);
		if(! $this->db->insert('user'))
		{
			$err_code=101;/*无法将数据载入数据库*/
			$err_msg='无法将数据载入数据库';
			return FALSE;
		}
	}
	
	//删除用户组
	//变量用小写
	function delete($gid,$group)
	{
	//验证权限
	$this->user->get_auth()   		

	$date = 'gid'=>$low /*最低权限组，未定*/    
	$this->db->trans_begin();
	
	//删除user表里的信息
	$this->db->where('id', $gid);
	$this->db->delete('hfi_user') 
	//将sub表里面所有隶属于这个用户组的用户隶属关系改成最低权限组
	while ($this->db->where('gid',$gid))   
	$this->db->update('hfi_sub', $data); 
	//删除info表里的信息
	$this->db->where('uid', $gid);
	$this->db->delete('hfi_info') 
	//删除auth表里的信息  （暂空）

	if ($this->db->trans_status() === FALSE)
	{
    	  $this->db->trans_rollback();
	  $err_code=102;/*无法删除用户组*/
	  $err_msg='无法删除用户组';
  	  return FALSE
	}
	else
	{
    	  $this->db->trans_commit();
	  return TURE
	}
	}

	//修改密码,修改哪个group的密码?T.T修改密码要不要验证密码?
	function chpword($newstr)         
	{
		 //验证权限
		$this->user->get_auth()  
		
		//验证密码
		$a=new RSA();
		$a->setkey($privatekey);
		$oldstr=$a->decrypt($encoded_string);
	
		if($str ==$oldstr)
	       {
		  $err_code=0
		     return TURE
	       }
		else
	       {
		  $err_code=103;
		  $err_msg='旧密码错误!';
		  return FALSE
	       }		

		//密码解密
		$a=new RSA();
		$a->setkey($privatekey);
		$newstr=$a->decrypt($encoded_string);
		
		//验证数据（控制器验证，这里跳过）
		 
		//输入数据库
		$this->db->where('passord', $str);
		$this->db->update('', $newstr);	
		if(! $this->db->insert('user'))
		{
			$err_code=101;/*无法将数据载入数据库*/
			$err_msg='无法将数据载入数据库';
			return FALSE;
		}
	}

	
	
	//用户组添加用户
	function addu($uid,$gid)
	{
	  $data='gid'=>'$gid'
	  $this->db->where('uid',$uid)   
	  $this->db->update('hfi_sub', $data); 
	  if(! $this->db->update('hfi_sub', $data))
	   {
			$err_code=104;
			$err_msg='添加用户失败';
			return FALSE;
	   }
	  else
	   {
 	    $err_code=105;
	    $err_msg='添加用户成功';
	    return TRUE
	   }
	}
	
	//用户组删除用户
	function delu($uid,$gid)
	{
	  $data='gid'=>$low /*最低权限组，未定*/
	  $this->db->where('gid',$gid)   
	  $this->db->update('hfi_sub', $data); 
	  if(!  $this->db->update('hfi_sub', $data); )
		{
			$err_code=106;
			$err_msg='删除用户失败';
			return FALSE;
		}
	   else
	   {
 	    $err_code=107;
	    $err_msg='删除用户成功';
	    return TRUE
	   }
	}
	
	//返回错误代码(考虑copy user.php的,应该差不多)
	function get_err_code()
	{
	    return $this->err_code;
	}
	
	//返回错误信息
	function get_err_msg()
	{	
	    return $this->err_code;
	}
}
/*End of file group.php*/